import request from './request';

// 设置全局配置
request.prototype.setConfig({
	url: 'https://alumnus.biaoxufilm.com',

});

function startLoading() { //使用Element loading-start 方法
	uni.showLoading({
		title: '加载中',
		mask: true
	})
}

function endLoading() { //使用Element loading-close 方法
	uni.hideLoading();
}

let needLoadingRequestCount = 0;

export function showFullScreenLoading() {
	if (needLoadingRequestCount === 0) {
		// startLoading()
	}
	needLoadingRequestCount++
}

export function tryHideFullScreenLoading() {
	if (needLoadingRequestCount <= 0) return;
	needLoadingRequestCount--
	if (needLoadingRequestCount === 0) {
		// endLoading()
	}
}

// 全局拦截器
request.prototype.addGlobalInterce({
	// 请求拦截器 (例如配置token)
	// return false或者不return值, 都不会发送请求

	request(config) {
		// config.header["authorization"] = uni.getStorageSync('token')
		if (config.data) {
			config.data.token = uni.getStorageSync('token')
		} else {
			config.data = {
				token: uni.getStorageSync('token')
			}
		}
		showFullScreenLoading();
		return config;
		// return false;
	},

	// 响应拦截器 (例如根据状态码拦截数据)
	// return false或者不return值 则都不会返回值
	// return Promise.reject('xxxxx')，主动抛出错误
	response(res) {
		//console.log(res.data)
		tryHideFullScreenLoading();
		let firstCodeNum = String(res.statusCode).substr(0, 1);
		// console.log('全局:', res)
		// // 2xx
		// if (firstCodeNum === '2') {
		// 	if (res.data.code == 200) {
		// 	} else if (res.data.code == 400) {
		// 		// uni.showToast({
		// 		// 	title: res.data.msg,
		// 		// 	position: "bottom",
		// 		// 	icon: "none",
		// 		// 	mask: true,
		// 		// 	duration: 2000
		// 		// });
		// 		return false;
		// 	} else if (res.data.code == 500) {
		// 		// uni.showToast({
		// 		// 	title: '加载或重试',
		// 		// 	position: "bottom",
		// 		// 	icon: "none",
		// 		// 	mask: true,
		// 		// 	duration: 2000
		// 		// });
		// 		return false;
		// 	} else if (res.data.code == 404) {
		// 		// uni.showToast({
		// 		//     title: '请重试',
		// 		// 	icon:"none",
		// 		// 	mask:true,
		// 		//     duration: 2000
		// 		// });
		// 		return false;
		// 	} else if (res.data.code == 401) {
		// 		// uni.showToast({
		// 		//     title: '请登录',
		// 		// 	icon:"none",
		// 		// 	mask:true,
		// 		//     duration: 2000
		// 		// });
		// 		// let timer=setTimeout(()=>{
		// 		// 	uni.redirectTo({
		// 		// 		url:'/pages/login/index'
		// 		// 	})
		// 		// })

		// 	} else if (res.data.code == 201) {
		// 		return res;
		// 	} else {
		// 		// uni.showToast({
		// 		// 	title: res.data.msg,
		// 		// 	position: "bottom",
		// 		// 	icon: "none",
		// 		// 	mask: true,
		// 		// 	duration: 2000
		// 		// });
		// 		return res;
		// 	}

		// 	return res;
		// }

		// // 3xx
		// if (firstCodeNum === '3') {
		// 	// do something
		// 	return res;
		// }

		// // 4xx or 5xx
		// if (firstCodeNum === '4' || firstCodeNum === '5') {
		// 	// do something
		// 	// console.log('is 4xx or 5xx')
		// 	return Promise.reject('nooooo')
		// }

		// // 停止发送请求 request.stop()
		// if (JSON.stringify(res) === '{"errMsg":"request:fail abort"}') {
		// 	// do something
		// 	// return Promise.reject('xxxxxxxxx');
		// 	return false;
		// }

		// return Promise.reject(res)
		return res.data;
	}
});

var a = new request();
export default a